Parent 
NOTE:   This web site is not some kind of 'official' documentation hub for the XT-IDE card.
It is simply the result of someone who decided to add to the documentation that exists elsewhere.


Using the XTIDE Universal BIOS (XUB) to access a serial drive


Requirements/hardware

To use the XTIDE Universal BIOS (XUB) to access a serial drive, a serial port is required on the vintage computer.  I have even used the serial port card supplied in the IBM PC (IBM 5150).

If you have the second revision of the VCF XT-IDE card, the XT-IDE Rev 2, it may have been constructed to include its optional serial port ('UART').

A serial port is also required on the 'modern' computer hosting the serial drive.

A diagram showing an example configuration is at here.
A diagram showing a configuration using the XT-IDE Rev 2 card is at here.

In those two diagrams, I include details of two different USB-to-serial (USB-to-RS232) adapters that I successfully used.  Of those adapters, the one pictured at here was helpful because of its RXD (receive data) and TXD (transmit data) lights - I could see when data was being transferred between the two computers.


Step 1 of 3 - Modern computer - Run SERDRIVE.EXE

On the modern computer, open up a command prompt, then execute SERDRIVE.EXE specifying the image file to use.
SERDRIVE.EXE presents that image file as a serial drive.

Example:

C:\10>serdrive my_720k.ima

An example screen shot of SERDRIVE running is at here.

If the USB-to-RS232 adapter is the only COM port on the modern computer, then SERDRIVE.EXE should automatically find the adapter, and use it.  If there are multiple COM ports on the modern computer, then you may need to specify the COM port of the USB-to-RS232 adapter to SERDRIVE.EXE by using the -c argument - see the 'SerDrive Command Line Arguments' section at here.

The latest SERDRIVE.EXE that I can find is in post number 424 at here.  It fixed a bug that caused a problem when using 720K sized image files.

An image file only needs to be bootable if you are planning to boot from it.

The MY_720K.IMA image file that I used as an example above is something that I created, an image of a 720K sized IBM DOS 3.3 boot diskette.  Available at here.

For better performance (9600 baud is 'slow'), consider upping the baud rate by using the -b argument of SERDRIVE.EXE - see the 'Performance' and 'SerDrive Command Line Arguments' sections at here.  But before trying that, make sure that everything is okay first at 9600 baud.  If you are using the serial port on an XT-IDE Rev 2 (i.e. has a hardware rate multiplier of 4x), see note 5 below.


Step 2 of 3 - Vintage computer - Get XTIDE Universal BIOS (XUB) to discover serial drives

Here, the XUB looks for a serial drive hosted by the modern computer.  When a serial drive is detected, it will end up being mapped by DOS to a drive letter, e.g. A:, B:, C:, D:, ...

This discovery of serial drives by the XUB does not happen by default.  There are multiple ways to do it:

Note: The following applies to the many releases of XUB version 2.0.0 beta 3+ and Rxxx.

* Option #1:  When the XUB's hotkeybar appears, press the F6 key (i.e. 'ComDtct').
* Option #2:  Before the XUB's hotkeybar appears, hold down the ALT key.  Release it when you see the hotkeybar.
* Option #3:  If you want the XUB to always look for serial drives, change the XUB setting of 'Scan for Serial Drives' to 'Yes'.

You will know when the XUB is looking for serial drives when you see, "Master at COM Detect:".

If the XUB then detects a serial drive, details will be displayed to the right of "Master at COM Detect:".
Example:  "Master at COM Detect: my_720k.ima (COM2/9600)"

As stated before, when the XUB discovers a serial drive, it will end up being mapped by DOS to a drive letter, e.g. A:, B:, C:, D:, ...
The following table will give you an idea of what drive letter may be used by DOS if a drive in the computer is booted from.

IMPORTANT:  Here, we are not booting from the serial drive.  Booting is different; things can change.  See the following booting section for that.

Type of serial drive Existing hardware in vintage computer Serial drive ends up mapped as:
floppy/diskette Motherboard is configured for zero floppy drives.  See note 1. Drive A: if booting from C:
floppy/diskette Motherboard is configured for one floppy drive. Drive B: if booting from A: or C:
floppy/diskette Motherboard is configured for two floppy drives. See note 6
hard drive There is no existing hard drive (includes CF, DOM, etc.) Drive C: if booting from A:
hard drive There is one existing hard drive (includes CF, DOM, etc.) Drive D: if booting from A: or C:



OPTIONAL: Step 3 of 3 - Vintage computer - Get XTIDE Universal BIOS (XUB) to boot from a discovered serial drive

Here, we know for fact that the serial drive is bootable (i.e. the image file used by SERDRIVE is bootable), AND, we have decided that we want to boot from that serial drive.

If your XUB presents a boot menu, then it's simple; select the serial drive that appears in the menu.

If no boot menu, you need to anticipate what drive letter will be allocated to the serial drive (see table in preceding section), and then, when the XUB displays its banner/spash on-screen, press the keyboard key that corresponds to the drive letter.
The exception to that is if the drive letter is C:, because without doing anything, the XUB defaults to booting from C:

Be patient.  At the very slow 9600 baud, the booting from a serial drive takes minutes, and you may not see screen activity during that time.


Now here is where things get interesting

Sometimes, drive letters can end up being not what you expect.

Type of serial drive Existing hardware in vintage computer You press key You then see Comment #1 Serial drive ends up mapped as: Comment #2
floppy/diskette Motherboard is configured for zero floppy drives.  See note 1. A "Booting A»A"   Drive A:  
floppy/diskette Motherboard is configured for one floppy drive. B "Booting B»A" B: becomes A: Drive A:, with the existing floppy drive being B: See note 2
hard drive There is no existing hard drive (includes CF, DOM, etc.) C "Booting C»C"   Drive C: See note 4
hard drive There is one existing hard drive (includes CF, DOM, etc.) D "Booting D»C" D: becomes C: Drive C:, with the existing hard drive being D: See note 3



Examples

See here.


Read/write

Yes, using your vintage computer, you can write to the serial drive.  (Which will alter the image file on the modern computer.)

If you want the serial drive to be read-only, start SERDRIVE.EXE with the -r argument - see the 'SerDrive Command Line Arguments' section at here.


Official documentation

See here.


On the host computer, how can I add/delete files to/from MY_720K.IMA ?

Open MY_720K.IMA using WinImage software.
- To delete a file, right-click on it then choose the 'Delete file' option.
- To add a file, simply drag-and-drop the file into WinImage from Windows Explorer.


Loopback tests on serial ports

As part of problem diagnosis for the symptom of 'serial drive is not being seen by the XUB', you may decide to run external loopback tests on the serial ports (at both vintage and modern computers).

If you are using the optional serial port built into the XT-IDE Rev 2, note that several of the external loopback sub-tests will fail.  That is because the serial port built into the XT-IDE Rev 2 card, does not implement all of the hardware handshaking lines.  Expect any external loopback sub-test involving the DTR/DSR/RI/DCD lines to fail.





Note 1 For an IBM PC (IBM 5150), the only way to configure the motherboard for zero floppy drives, is to set switch 1 on switch block SW1 to the ON position.
For an IBM Portable PC (IBM 5155) and IBM XT (IBM 5160), there is no way to configure the motherboard for zero floppy drives
   
Note 2 Technical: To enable the boot from the serial drive, the XUB will be swapping physical drives 0 and 1.  See the 'Drive swapping' section of here.
   
Note 3 Technical: To enable the boot from the serial drive, the XUB will be swapping physical drives 80 and 81.  See the 'Drive swapping' section of here.
   
Note 4 In this situation (hard drive type of serial drive, and no existing hard drive), for most cases, pressing the C key is optional, because by default, the XUB boots from C:
One case where you would need to press C, is if you had reconfigured your XUB to boot from A: by default, and there is a boot floppy in A:
   
Note 5 The serial port on a VCF XT-IDE Rev 2 has a hardware rate multiplier of 4x.  Therefore, when reading the 'baud rate' table at here, restrict yourself to the values shown in the '4x' row.
   
Note 6 Here, the floppy/diskette type of serial drive becomes the third floppy drive.  If you are booting from an early version of DOS (I think it may be 4 or earlier), do not be surprised if the floppy/diskette type of serial drive appears as C: